//package com.cat.model.web.action.common;
//
//import org.springframework.beans.factory.annotation.Autowired;
//
//import com.cat.model.biz.service.PersonService;
//import com.cat.model.common.util.ResultJson;
//import com.cat.model.web.action.base.BaseAction;
//import com.dianping.cat.Cat;
//import com.dianping.cat.message.Event;
//import com.dianping.cat.message.Transaction;
//
//public class TestAction extends BaseAction {
//
//	private static final long serialVersionUID = -9220171999023504222L;
//
//	@Autowired
//	private PersonService personService;
//
//	public String list() throws Exception {
////		Transaction t = Cat.getProducer().newTransaction("API", "test-list");
////		try {
////			Thread.sleep(2000);
////			
////			
////			t.setStatus(Transaction.SUCCESS);
////			throw new Exception("test");
////		} catch (Exception e) {
////			e.printStackTrace();
////			Cat.getProducer().logError(e);// 用log4j记录系统异常，以便在Logview中看到此信息
////			t.setStatus(e);
////			// throw e;
////			// (CAT所有的API都可以单独使用，也可以组合使用，比如Transaction中嵌套Event或者Metric。)
////			// (注意如果这里希望异常继续向上抛，需要继续向上抛出，往往需要抛出异常，让上层应用知道。)
////			// (如果认为这个异常在这边可以被吃掉，则不需要在抛出异常。)
////		} finally {
////			t.complete();
////		}
//		
//		
//		ResultJson resultJson = personService.personList();
//		this.print(resultJson);
//		return null;
//	}
//
//	public static void main(String[] args) {
//		Transaction t = Cat.getProducer().newTransaction("your transaction type", "your transaction name");
//		try {
//			for (int i = 0; i < 10000000; i++) {
//
//			}
//			System.out.println("xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
//			Cat.getProducer().logEvent("your event type", "your event name", Event.SUCCESS, "keyValuePairs");
//			Cat.logEvent("URL", "hello world!");
//			Cat.logMetricForCount("testCount");
//			Cat.logMetricForSum("testCount", 100);
//			
//			for (int i = 0; i < 10000000; i++) {
//
//			}
//			System.out.println("xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
//			
//			t.setStatus(Transaction.SUCCESS);
//		} catch (Exception e) {
//			Cat.getProducer().logError(e);// 用log4j记录系统异常，以便在Logview中看到此信息
//			t.setStatus(e);
//			e.printStackTrace();
//		} finally {
//			t.complete();
//		}
//	}
//
//}
